home *** CD-ROM | disk | FTP | other *** search
- " Vim syntax file
- " Language: Dot
- " Filenames: *.dot
- " Maintainer: Markus Mottl <markus@oefai.at>
- " URL: http://www.ai.univie.ac.at/~markus/vim/syntax/dot.vim
- " Last Change: 2001 Aug 28 - Upgraded URL & mail address
- " 2001 May 04 - initial version
-
- " For version 5.x: Clear all syntax items
- " For version 6.x: Quit when a syntax file was already loaded
- if version < 600
- syntax clear
- elseif exists("b:current_syntax")
- finish
- endif
-
- " Errors
- syn match dotParErr ")"
- syn match dotBrackErr "]"
- syn match dotBraceErr "}"
-
- " Enclosing delimiters
- syn region dotEncl transparent matchgroup=dotParEncl start="(" matchgroup=dotParEncl end=")" contains=ALLBUT,dotParErr
- syn region dotEncl transparent matchgroup=dotBrackEncl start="\[" matchgroup=dotBrackEncl end="\]" contains=ALLBUT,dotBrackErr
- syn region dotEncl transparent matchgroup=dotBraceEncl start="{" matchgroup=dotBraceEncl end="}" contains=ALLBUT,dotBraceErr
-
- " Comments
- syn region dotComment start="//" end="$" contains=dotComment,dotTodo
- syn region dotComment start="/\*" end="\*/" contains=dotComment,dotTodo
- syn keyword dotTodo contained TODO FIXME XXX
-
- " Strings
- syn region dotString start=+"+ skip=+\\\\\|\\"+ end=+"+
-
- " General keywords
- syn keyword dotKeyword digraph node edge subgraph
-
- " Graph attributes
- syn keyword dotType center layers margin mclimit name nodesep nslimit
- syn keyword dotType ordering page pagedir rank rankdir ranksep ratio
- syn keyword dotType rotate size
-
- " Node attributes
- syn keyword dotType distortion fillcolor fontcolor fontname fontsize
- syn keyword dotType height layer orientation peripheries regular
- syn keyword dotType shape shapefile sides skew width
-
- " Edge attributes
- syn keyword dotType arrowhead arrowsize arrowtail constraint decorateP
- syn keyword dotType dir headclip headlabel labelangle labeldistance
- syn keyword dotType labelfontcolor labelfontname labelfontsize
- syn keyword dotType minlen port_label_distance samehead sametail
- syn keyword dotType tailclip taillabel weight
-
- " Shared attributes (graphs, nodes, edges)
- syn keyword dotType color
-
- " Shared attributes (graphs and edges)
- syn keyword dotType bgcolor label URL
-
- " Shared attributes (nodes and edges)
- syn keyword dotType fontcolor fontname fontsize layer style
-
- " Special chars
- syn match dotKeyChar "="
- syn match dotKeyChar ";"
- syn match dotKeyChar "->"
-
- " Identifier
- syn match dotIdentifier /\<\w\+\>/
-
- " Synchronization
- syn sync minlines=50
- syn sync maxlines=500
-
- " Define the default highlighting.
- " For version 5.7 and earlier: only when not done already
- " For version 5.8 and later: only when an item doesn't have highlighting yet
- if version >= 508 || !exists("did_dot_syntax_inits")
- if version < 508
- let did_dot_syntax_inits = 1
- command -nargs=+ HiLink hi link <args>
- else
- command -nargs=+ HiLink hi def link <args>
- endif
-
- HiLink dotParErr Error
- HiLink dotBraceErr Error
- HiLink dotBrackErr Error
-
- HiLink dotComment Comment
- HiLink dotTodo Todo
-
- HiLink dotParEncl Keyword
- HiLink dotBrackEncl Keyword
- HiLink dotBraceEncl Keyword
-
- HiLink dotKeyword Keyword
- HiLink dotType Type
- HiLink dotKeyChar Keyword
-
- HiLink dotString String
- HiLink dotIdentifier Identifier
-
- delcommand HiLink
- endif
-
- let b:current_syntax = "dot"
-
- " vim: ts=28
-